home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / src / fig16_11.jar / Ch16 / Fig16_11 / Fig16_11.cpp
C/C++ Source or Header  |  1997-11-10  |  900b  |  42 lines

  1. // Fig. 16.11: fig16_11.cpp
  2. // Using the bitwise shift operators 
  3. #include <iostream.h>
  4. #include <iomanip.h>
  5.  
  6. void displayBits( unsigned );
  7.  
  8. int main()
  9. {
  10.    unsigned number1 = 960;
  11.  
  12.    cout << "The result of left shifting\n";
  13.    displayBits( number1 );
  14.    cout << "8 bit positions using the left "
  15.         << "shift operator is\n";
  16.    displayBits( number1 << 8 );
  17.    cout << "\nThe result of right shifting\n";
  18.    displayBits( number1 );
  19.    cout << "8 bit positions using the right "
  20.         << "shift operator is\n";
  21.    displayBits( number1 >> 8 );
  22.    return 0;
  23. }
  24.  
  25. void displayBits( unsigned value )
  26. {
  27.    unsigned c, displayMask = 1 << 15;
  28.  
  29.    cout << setw( 7 ) << value << " = ";
  30.  
  31.    for ( c = 1; c <= 16; c++ ) {
  32.       cout << ( value & displayMask ? '1' : '0' );
  33.       value <<= 1;
  34.  
  35.       if ( c % 8 == 0 )
  36.          cout << ' ';
  37.    }
  38.  
  39.    cout << endl;
  40. }
  41.  
  42.